The invention relates generally to object-oriented data processing and system management, and more particularly to the administration of configuration information in a catalog system.
An executable software program or application can require access to system-wide, configuration-type information when the application is being installed or modified on a computer system (i.e., at configuration-time) and at the time the application is executed to perform its intended function (i.e., at runtime). Typically, the application accesses configuration information related to available services and resources on the local computer system, including available software components, hardware, and available services offered by the system that improve the functionality of the application within the overall system.
Accessing the configuration information is done through a catalog management system having both a catalog of the configuration information and an ability to provide available services to a requesting application. The application code requests the configuration information from the catalog management system, which responds by presenting the configuration information to the application in the requested format. Meanwhile, the management system also provides services through embedded logic in response to the configuration information requests. The services may relate to such items as security, validation, roles, etc. as well as network communication conflict management.
The services are typically exploited through an attribute-based programming scheme, which allows application developers to specify services and resources called for in an application by setting properties (or xe2x80x9cattributesxe2x80x9d) of each application or component, rather than implementing or calling those services directly from the implementation code. Attributes include a particular set of configuration information that is made available to various callers in an attribute-based environment.
Even in an attribute-based programming environment, the application desiring data and services must know where the configuration information is located within the system. Moreover, the calling program typically must understand the format in which the information is stored to be able to access the information. In existing approaches, a system xe2x80x9cregistryxe2x80x9d has been used to store configuration data for a particular machine. However, in existing approaches, a programmer was required to access and manipulate registry information directly, introducing undesirable program complexity and exposing the registry to the risk of corruption by improper programming. Moreover, the distribution of configuration information among multiple computing systems is not accommodated by existing approaches. In current approaches, the administration code itself must be altered in order to handle location and format changes to configuration information in different computing systems.
Further, the administration (e.g., writing, reading and updating) of configuration information in some systems has relied on an administration API (application program interface) that provided methods for accessing the registry directly. Accordingly, an administration tool is bound by the API to the registry of a single computing system. A problem is also presented if the configuration information is moved to a different datastore or recorded in a format that is different than that of the registry.
It is with respect to these and other considerations that the present invention has been made.
In accordance with this invention, the above and other problems were solved by accessing a requested table of configuration information through a catalog server object that manages the configuration information in one or more datastores of a computer system. An administration tool causes the client table object to be created in order to read or write configuration information available to the client table object.
Once the client table object obtains the configuration information from catalog server objects and records the information in its cache, subsequent access by the administration tool to the configuration information is serviced by the client table object until the cache is refreshed or changes to the configuration information are written back to the corresponding datastores. While the client table object is servicing these accesses internally, any connections to the catalog server objects may be released.
A system for accessing a requested table of configuration information stored in one or more datastores is provided. A table object includes a cache that stores the configuration information and a table interface through which a caller can access the requested table of configuration information in the cache. A catalog server object manages the configuration information stored a datastore and communicates the configuration information with the table object. A table system is created by the catalog server object to provide the catalog server object with access to the requested table of configuration information stored in the datastore.
A program product for accessing a requested table of configuration information through a catalog server object that manages the configuration information in one or more datastores is also provided. A table object having a cache that stores the configuration information is created. The catalog server object is queried for table information describing the requested table. The table object receives the table information from the catalog server object and records the table information in the table object. The configuration information is accessed by a caller through the cache of the table object, in accordance with the table information.
These and various other features as well as advantages which characterize the present invention will be apparent from a reading of the following detailed description and a review of the associated drawings.